#include <cstdio>
#include <iostream>
#include <memory.h>
#include <cmath>
using namespace std;

struct node {
	int x, y;
};

double F[205][205];
node G[205];

double calc(int x, int y) {
    return sqrt((double)(G[x].x - G[y].x) * (G[x].x - G[y].x) + (double)(G[x].y - G[y].y) * (G[x].y - G[y].y));
}

int main() {
	int n, x, y, index = 0;
	while (1) {
		cin >> n;
		if (n == 0) break;
		memset(F, 0, sizeof(F));
		for (int i = 1; i <= n; ++i) {
			cin >> G[i].x >> G[i].y;
		}

		 for(int i = 1; i <= n; ++i) {
		 	for(int j = 1; j <= n; ++j) {
                if (i != j) {
                    F[i][j] = calc(i, j);
                    F[j][i] = calc(i, j);
                }
            }
		}

        for(int k = 1; k <= n; ++k) {
            for(int i = 1; i <= n; ++i) {
                for(int j = 1; j <= n; ++j) {
                    if(i != j && j != k && i != k) {
                        if (F[i][j] > F[i][k] && F[i][j] > F[k][j]) {
                            F[i][j] = F[j][i] = max(F[i][k], F[k][j]);
                        }
                    }
                }
            }
        }
        printf("Scenario #%d\n", ++index);
        printf("Frog Distance = %.3lf\n\n", F[1][2]);    
	}
	return 0;
}